1. Field of the Invention
Embodiments generally relate to operation of an accelerator in a computer platform. More particularly, certain embodiments relate to programming an accelerator to enable implementation of a data processing algorithm.
2. Background Art
Conventional computer systems frequently include some accelerator device which is provided to free a host processor from having to frequently perform some calculation-intensive data processing task. Existing accelerators are not programmable—e.g. reprogrammable—devices. More particularly, current accelerator devices variously provide some fixed functionality, or set of functionalities, which is programmed prior to incorporation of the accelerator device into a computer platform.
Typically, such functionality relies upon fine-grain control from a controller element of the accelerator itself. By virtue of their data path design and control design, a considerable amount of existing accelerators' processing resources are used for scheduling and issuing fine-grain, word-level instructions to be executed by homogeneous data path elements of the accelerator. As a result, accelerator performance is often subject to significant processing overhead.
As processing speeds increase, and as smaller form factor platforms are expected to support increasingly large processing loads, the limits of current accelerator design will have an increasing effect on platform performance.